package weektwo;

import java.util.*;

public class GroupAnagrams_49 {
    public List<List<String>> groupAnagrams(String[] strs) {
        //hashmap可用于分组
        //从排序以后的字符串分组，一样的放到同一个数组【】。
        //方案二： 计算字母出现的次数，不要求有序。
        Map<String, List<String>> group = new HashMap<>();
//        group.size()
//        group.remove()
        for(String s: strs){
            char[] chars = s.toCharArray();
            Arrays.sort(chars);
            String key = new String(chars);
            if(group.containsKey(key)){
                group.get(key).add(s);
            }else {
                List<String> list = new ArrayList<>();
                list.add(s);
                group.put(key, list);
            }
        }

//        List<List<String>> ans = new ArrayList<>();
//
//        for(List<String> res : group.values()){
//            ans.add(res);
//        }
        return new ArrayList<List<String>>(group.values());

    }
}
